"""
生产者
消费者
队列（中间人，）
celery将三者都实现了


队列设置在：./celery_tasks/config.py 目前用的是Redis的mq， 后续可以改为rabbitMQ
生产者写在：./celery_tasks/sms/tasks.py
消费者直接在终端启动命令：celery -A celery_tasks.main worker -l info -P solo
"""
# 0. 为celery运行设置django环境
import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'meiduo_mall.settings')

# 1.创建celery实例
from celery import Celery

# 1.1参数main, main设置脚本路径就可以了，脚本路径是唯一的
app = Celery(main="celery_tasks")

## 2.设置broker
# 我们通过加载配置文件设置broker
app.config_from_object("celery_tasks.config")

## 3. 让celery自动检测指定包的任务
## autodiscover_tasks 参数是列表，列表元素是task的路径
app.autodiscover_tasks(["celery_tasks.sms", "celery_tasks.email"])